#装饰器
'''知识点回顾
回调函数
    是一个函数的参数中有一个形参要求是另一个函数,那么在调用时,需要传递一个函数进来
    并且在函数中去调用这个传递进来的函数,那么传递进来的函数就叫做  回调函数
'''
def func(a,b,f):
    print(a,b)
    res=f()    #传参并调用
    print(res)

func(1,2,lambda : 5)

'''
闭包函数
    内函数中使用了外函数的变量,并且在外函数中,把内函数返回
'''
def outer(var):
    def inner():
        num=var**2
        print(num)
    return inner

func1=outer(10)
func1()


'''
装饰器的原型
回调+闭包
'''
#外函数
def outer(func):
    #内函数
    def inner():
        print('加个妹子的微信')
        func()
        print('去肯德基')
    return inner
#使用装饰器语法实现
@outer
def love():
    print('去看个电影')
# love=outer(love)
love()




